1. Field of the Invention
The present invention relates to a technology for acquiring information from a peripheral device.
2. Description of the Related Art
In recent years, various kinds of peripheral devices such as printers and scanners are used in offices, at home, and in public facilities. In addition, various kinds and types of utilities that help a user who utilizes the peripheral device have been developed and put into practical use.
For example, as a utility utilized in an ink jet printer, a utility that can browse information related to an ink cartridge installed to a printing apparatus body and a state of a printing job input to the printing apparatus by a client computer is known.
On the other hand, as a well-known technology related to acquiring various kinds of information of the peripheral devices, there is, for example, a Management Information Base (MIB) that is provided in RFC 1213 of the Management Information Base. Japanese Patent Application Laid-Open No. 10-074132 discusses a technology for obtaining information of the printing apparatus by using the MIB.
In addition, there is another well-known technology for acquiring various kinds of information. For example, there is a Bidi Communications Schema (BCS), which is made public at a website of the Microsoft Developer Network (MSDN) at “http://msdn.microsoft.com/library/default.asp”. In addition, note that the Bidi Communications Schema is sometimes referred to as a Bidi Schema in the description below.
FIG. 31 is a diagram illustrating a configuration of a conventional example describing a schema and a value used in enumerating information and a state of ink, an operation status, hardware information, paper feed unit information, and paper discharge unit information by using the schema.
Referring to FIG. 31, the schema is specified from the utility so as to call an IBidiSpl::SendRecv( ) function. The schema that is specified includes “¥Printer.InkInfo”, “¥Printer.StatusInfo”, “¥Printer.HardwareInfo”, “¥Printer.InputBinsInfo”, and “¥Printer.OutputBinsInfo”.
Then, in a “Query” (Schema) column, a schema “Retrieve” (Schema) that describes printer information and the printer status and a value “Retrieve” (Value) are returned in a set.
In the example as shown in FIG. 31, black, cyan, magenta, and yellow inks are loaded in the printer, and each state describes “Ink remaining amount full (Full)”, “Ink remaining amount low (Low)”, “Ink not remaining (Out)”, and “Ink remaining amount full (Full)”, respectively.
In addition, each ink name describes “CI-B Black”, “CI-C Cyan”, “CI-M Magenta”, and “CI-Y Yellow”, respectively.
In addition, FIG. 31 shows that the operation state is “Online” and in a “Standby” mode, that the size of a memory installed to the printer is 2 MB, that an auto sheet feeder named “ASF-1” is installed to the printer as the paper feed unit, and that a tray named “Tray-1” is installed to the printer as the paper discharge unit.
As described above, the utility enumerates various kinds of information by using the schema so as to obtain all the detailed information on the printer that is described by the schema.
FIG. 32 describes schemata of a conventional example that are used when the utility acquires the information concerning the ink and the state of the ink from the printer. More specifically, the schemata are specified as arguments in the call of an application program interface (API) function “IBidiSpl::SendRecv( )” of a COM interface “IBidiSpl” used in the Windows (registered trademark) XP OS when the utility acquires the information concerning the ink and the state of the ink from the printer via printing and print spooler interfaces (hereinafter sometimes referred to as “PPSI”).
Referring to FIG. 32, “InkInfo” has a node type “Property” and indicates information concerning ink. The full path to the “InkInfo” in the schema is “¥Printer.InkInfo”. “[Color]” has the node type “Property” and indicates information concerning color. The full path to the “[Color]” in the schema is “¥Printer.InkInfo.[Color]”. Allowed values are “Black” indicating black, “Cyan” indicating cyan, “Magenta” indicating magenta, and “Yellow” indicating yellow.
When the information concerning the black ink is to be acquired, “¥Printer.InkInfo.Black” is specified. “Installed” has a node type “Value” and a data type “Boolean”, and indicates whether the [Color] ink is loaded. The full path to the “Installed” in the schema is “¥Printer.InkInfo.[Color]:Installed”. Allowed values are “True” indicating that the [Color] ink is loaded and “False” indicating that the [Color] ink is not loaded.
“State” has the node type “Value” and a data type “String”, and indicates the states of the remaining amount of the [Color] ink. The full path to the “State” in the schema is “¥Printer.InkInfo.[Color]:State”. Allowed values are “Full” indicating that the [Color] ink is full, “Low” indicating that the remaining amount of the [Color] ink is low, “Out” indicating that the [Color] ink is out, and “Unknown” indicating that the remaining amount of the [Color] ink is unknown.
“Name” has the node type “Value” and a data type “String”, and indicates the name of the [Color] ink. The full path to the “Name” in the schema is “¥Printer.InkInfo.[Color]:Name”.
Allowed values are, for example, ASCII character strings shown in “Examples” in FIG. 32.
FIG. 33 describes schemata of a conventional example that are used when the utility acquires the information concerning the paper discharge unit from the printer. The schemata are specified as arguments in the call of the API function “IBidiSpl::SendRecv( )” of the COM interface “IBidiSpl” used in the Windows (registered trademark) XP OS when the utility acquires the information concerning the paper discharge unit from the printer via the printing and print spooler interfaces.
Referring to FIG. 33, “OutputBinsInfo” has a node type “Property” and indicates information concerning the paper discharge unit. The full path to the “OutputBinsInfo” in the schema is “¥Printer.OutputBinsInfo”. “[Type]” has the node type “Property” and indicates the type of the paper discharge unit. The full path to the “[Type]” in the schema is “¥Printer.OutputBinsInfo.[Type]”. An allowed value is “Tray” indicating a tray.
When the information concerning the tray that is the paper discharge unit is to be acquired, “¥Printer.OutputBinsInfo.Tray” is specified. “Installed” has a node type “Value” and a data type “Boolean”, and indicates whether the [Type] paper discharge unit is installed. The full path to the “Installed” in the schema is “¥Printer.OutputBinsInfo.[Type]:Installed”. Allowed values are “True” indicating that the [Type] paper discharge unit is installed and “False” indicating that the [Type] paper discharge unit is not installed.
“Name” has the node type “Value” and a data type “String”, and indicates the name of the [Type] paper discharge unit. The full path to the “Name” in the schema is “¥Printer.OutputBinsInfo.[Type]:Name”. Allowed values are, for example, ASCII character strings as shown in “Examples” in FIG. 33. In this manner, the utility acquires the information concerning the paper discharge unit by using the schemata defined in FIG. 33.
In this regard, however, in the above structure, when an unexpected new kind of information of the printing apparatus is added, a redesign of an upper unit (utility) is necessary. That is, a program for acquiring the newly-added new kind of information, for example, cannot be installed to the upper unit (utility). Therefore, a structure for acquiring the information of the printing apparatus more flexibly is desired.